package com.epic.java.designpattern.single;

public class SingleInstance3 {
    private static class SingletonClassInstance {
        private static final SingleInstance3 instance = new SingleInstance3();
    }
    private SingleInstance3() {
    }
    public static SingleInstance3 getInstance() {
        return SingletonClassInstance.instance;
    }

    public static void main(String[] args) {

    }
}
/**
 * 静态内部类实现模式（线程安全，调用效率高，可以延时加载）
 * 如何选用：
 *
 * -单例对象 占用资源少，不需要延时加载，枚举 好于 饿汉
 *
 * -单例对象 占用资源多，需要延时加载，静态内部类 好于 懒汉式
 *
 * 1 public enum SingletonDemo4 {
 * 2
 * 3     //枚举元素本身就是单例
 * 4     INSTANCE;
 * 5
 * 6     //添加自己需要的操作
 * 7     public void singletonOperation(){
 * 8     }
 * 9 }
 */

/**
 * log4j.properties
 * ###set log levels###
 * log4j.rootLogger=info, stdout
 * ###output to console###
 * log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 * log4j.appender.stdout.Target=System.out
 * log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 * log4j.appender.stdout.layout.ConversionPattern=[%d{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2}: %m%n
 */
